let isTure = false;
var datalIST = []
var prefix = "/jzweb/mark";

$(function() {

	$.ajax({
		url : '/jzweb/mark/selEbatchId',
		// type : 'post',
		// contentType: "application/json; charset=utf-8",
		// data:JSON.stringify({
		// 	competitionType: sessionStorage.getItem('competitionTypes') ? sessionStorage.getItem('competitionTypes') : 'null'
		// }),
		type : 'POST',
		contentType: "application/json; charset=utf-8",
		data:JSON.stringify({
			competitionType: sessionStorage.getItem('competitionTypes') ? sessionStorage.getItem('competitionTypes') : 'null'
		}),
		success : function(r) {
			if (r.code == 0) {
				let str = '';
				r.data.map(function (v,k){
					str += `<option value="${v.id}" data-cbatchId="${v.cbatchId}" data-type="${v.competitionType}">${v.name}</option>`
				})
				$("#selEbatchId").html(str);
				load();
			} else {
				layer.msg(r.msg);
			}
		}
	});

});
var selectedIndex = 0;
$('body').on('change','#selEbatchId',function (ev){
	selectedIndex = ev.target.selectedIndex;
})
// load()
function load() {
	$('#exampleTable')
		.bootstrapTable(
			{
				method : 'post', // 服务器数据的请求方式 get or post
				url : prefix + "/personageTotalStatisticsLists", // 服务器数据的加载地址
				//	showRefresh : true,
				//	showToggle : true,
				//	showColumns : true,
				iconSize : 'outline',
				toolbar : '#exampleToolbar',
				striped : true, // 设置为true会有隔行变色效果
				dataType : "json", // 服务器返回的数据类型
				pagination : true, // 设置为true会在底部显示分页条
				singleSelect : false, // 设置为true将禁止多选
				// //发送到服务器的数据编码类型
				pageSize : 10, // 如果设置了分页，每页数据条数
				pageNumber : 1, // 如果设置了分布，首页页码
				//search : true, // 是否显示搜索框
				showColumns : false, // 是否显示内容下拉框（选择显示的列）
				sidePagination : "server", // 设置在哪里进行分页，可选值为"client" 或者 "server"
				queryParamsType : "",
				// //设置为limit则会发送符合RESTFull格式的参数
				queryParams : function(params) {
					return {
						//说明：传入后台的参数包括offset开始索引，limit步长，sort排序列，order：desc或者,以及所有列的键值对
						current : params.pageNumber,
						number : params.pageSize,
						ebatchId:$("#selEbatchId").val(),
						cbatchId: $("#selEbatchId option").eq(selectedIndex).attr('data-cbatchId'),
						competitionType: $("#selEbatchId option").eq(selectedIndex).attr('data-type')
					};
				},
				// 返回false将会终止请求
				responseHandler : function(res){
					if(res.code !== '0') {
						layer.msg(res.msg);
						return false
					}
					return {
						"total": res.data.total,//总数
						"rows": res.data.records   //数据
					};
				},
				columns : [
					{
						checkbox : true
					},
					{
						field: 'recordNumber',
						title: '检录序号',
						formatter:function (value,row,index){
							if(row.decrypt === "0"){
								return "*******"
							}
							return value
						}
					},
					{
						field: 'num1',
						title: 'A赛场一次加密',
						formatter:function (value,row,index){
							if(row.decrypt === "0"){
								return "*******"
							}
							return value
						}
					},
					{
						field: 'num2',
						title: 'A赛场二次加密',
						formatter:function (value,row,index){
							if(row.decrypt === "0"){
								return "*******"
							}
							return value
						}
					},
					{
						field: 'computerScore',
						title: 'A赛场得分',
						formatter:function (value,row,index){
							if(row.decrypt === "0"){
								return "*******"
							}
							return value
						}
					},
					{
						field: 'realityNm1',
						title: 'B1赛道一次加密',
						formatter:function (value,row,index){
							if(row.decrypt === "0"){
								return "*******"
							}
							return value
						}
					},
					{
						field: 'realityNm2',
						title: 'B1赛道二次加密',
						formatter:function (value,row,index){
							if(row.decrypt === "0"){
								return "*******"
							}
							return value
						}
					},
					{
						field: 'signGradeDTO',
						title: '项目B1得分',
						formatter:function (value,row,index){
							if(row.decrypt === "0"){
								return "*******"
							}
							return value?.markB1 ? value?.markB1 : '-'
						}
					},
					{
						field: 'signGradeDTO',
						title: '项目B2得分',
						formatter:function (value,row,index){
							if(row.decrypt === "0"){
								return "*******"
							}
							return value?.markB2 ? value?.markB2 : '-'
						}
					},
					{
						field: 'realityNm3',
						title: 'B2赛道一次加密',
						formatter:function (value,row,index){
							if(row.decrypt === "0"){
								return "*******"
							}
							return value
						}
					},
					{
						field: 'realityNm4',
						title: 'B2赛道二次加密',
						formatter:function (value,row,index){
							if(row.decrypt === "0"){
								return "*******"
							}
							return value
						}
					},
					{
						field: 'signGradeDTO',
						title: '项目B3得分',
						formatter:function (value,row,index){
							if(row.decrypt === "0"){
								return "*******"
							}
							return value?.markB3 ? value?.markB3 : '-'
						}
					},
					{
						field: 'signGradeDTO',
						title: '项目B4得分',
						formatter:function (value,row,index){
							if(row.decrypt === "0"){
								return "*******"
							}
							return value?.markB4 ? value?.markB4 : '-'
						}
					},
					{
						field : 'totalScore',
						title : '总计得分',
						width: '30px',
						formatter:function (value,row,index){
							if(row.decrypt === "0"){
								return "*******"
							}
							return value
						}
					},

				],
				onCheckAll: function (rows) {
					let arr = []
					for (let i = 0; i < rows.length; i++) {
						let a = {}
						a.id= rows[i].id
						a.decrypt = "1"
						arr.push(a)
					}
					datalIST = arr
					// 全选时的逻辑处理
				},
				onUncheckAll: function (rows) {
					// 取消全选时的逻辑处理
					datalIST = []
				},
				onCheck: function (rows) {
					let arr = []
					// for (let i = 0; i < rows.length; i++) {
					let a = {}
					a.id= rows.id
					a.decrypt = "1"
					arr.push(a)
					// }
					datalIST.push(...arr)
					// 全选时的逻辑处理
				},
				onUncheck:function (rows) {
					datalIST = datalIST.filter(function(person) {
						return person.id !== rows.id;
					});
				}
			});
}

function download(){
	$.ajax({
		url:'/jzweb/mark/stuFileDownload',
		type:'post',
		responseType: 'blob',
		data: {
			cbatchId : $("#selEbatchId option").eq(selectedIndex).attr('data-cbatchId')
		},
		success:function (data){
			layer.closeAll();
			if( data.code == 0 ){
				window.location.href = data.data
			}else{
				layer.msg(data.msg)
			}
		}
	})
}

// 解密操作
function decode(){
	let list = {
		stuSignUpComDOS : datalIST
	}
	if(datalIST.length !==0) {
		$.ajax({
			url:'/jzweb/stuSignUpCom/decrypt',
			type:'post',
			contentType: 'application/json; charset=utf-8', // 修改为服务器端支持的Content-Type
			dataType: 'json',
			data: JSON.stringify(list),
			success:function (data){
				if( data.code == 0 ){
					load()
					reLoad()
				}
			}
		})
	}else {
		layer.msg('请选择解密的选手')
	}

}
function reLoad() {
	$('#exampleTable').bootstrapTable('refresh');
}

//导出
function downExcelModelFile() {
	// if(!isTure) return layer.msg('请先解密操作')
	layer.confirm('您确定要导出吗？', {
		btn1:function(index){
			try {
				window.location.href = "/jzweb/mark/personageStatisticsexcelss?cbatchId=" + $("#selEbatchId option").eq(selectedIndex).attr('data-cbatchId');
				layer.close(index)
			}catch (e) {
				layer.msg('导出错误')
			}

		}
	});
}